home *** CD-ROM | disk | FTP | other *** search
- /*
- ** patch.library
- **
- ** Copyright © 1993-1997 by Stefan Fuchs
- ** Freely distributable.
- */
-
- #ifndef _PATCH_INCLUDES_H
- #include "patch_includes.h"
- #endif
-
-
- /****i* patch.library/RemovePatchHandler ***************************************
- *
- * NAME
- * RemovePatchHandler -- Remove any removable patches. (PRIVATE)
- *
- * SYNOPSIS
- * RemovePatchHandler( )
- *
- * RemovePatchHandler( void);
- *
- * FUNCTION
- * Test all patches, which are pending for removal, if they can
- * be removed now. If so deallocate all associated memory and
- * structures. This function is called by the low-memory handler,
- * InstallPatchTags() and RemovePatchTags().
- *
- * INPUTS
- *
- * TAGS
- *
- * RESULT
- *
- * NOTES
- *
- * BUGS
- *
- * SEE ALSO
- *
- ******************************************************************************
- *
- */
-
- void LIBFUNC RemovePatchHandler( )
- {
- struct Node *pointer;
- struct MasterPatch *master;
-
- if( AttemptSemaphore(&(PatchBase->PB_Semaphore)))
- {
- for (pointer = (struct Node *) PatchBase->PB_MasterPatchHeader.lh_Head;
- pointer->ln_Succ;)
- {
-
- master = (struct MasterPatch *)pointer;
- pointer = (struct Node *)pointer->ln_Succ;
- RemoveSystemNodeWithTest( master);
- }
- ReleaseSemaphore(&(PatchBase->PB_Semaphore));
- }
- }
-